# import os
# import os.path
# #定义函数tree 提前声明depth这个变量默认值是0
# def tree(path, depth=0):
# #如果深度是0就打印输入的路径
#     if depth == 0:
#         print(path)
#     items = os.listdir(path)             #返回输入的路径的文件或文件夹的名字的列表
#     # print(items)
#     for item in items:
#         # 输出文件夹中的文件和子文件夹名
#         # 以"|  "代替目录深度，深度是几就输出几个 end=是因为print默认打印一行，结尾加换行，end出按一个空字符表示语句没结束
#         print('|    ' * depth, end='')   #就是将换行符去掉，让这一行的内容和后面的print输出的内容成为一行，表示出路径
#         print('|----', item)
#         item = os.path.join(path, item)  #路径拼接函数，将os.listdir(path)返回的名称拼接成目录的绝对路径
#         if os.path.isdir(item):          #将拼接成的绝对路径传入os.path.isdir(item)里 判断路径是否为目录
#             # 递归遍历子目录
#             tree(item, depth + 1)
# #r 非转义的原始字符 因为传进去的参数是文件路径，不加会把"\n","\t"等特殊字符识别出来
# tree(r'..')

import random
import string
a = input("请输入要生成的激活码：")
#检测字符串是否只由数字组成，只对 0 和 正数有效
if a.isdigit():
    for i in range(int(a)):
        #.join连接新的字符串   random.sample截取指定长度
        key = ''.join(random.sample(string.ascii_uppercase + string.digits,32))
        print(key)
        with open("c.txt","a") as fp:
            fp.write(key + "\n")
else:
    print("输入不合法")